/**
 * https://www.bilibili.com/video/BV1vs411n7TH?p=7
 * 1.6.2 寄存器名字(了解)
 *
 * 		8位		16位		32位		64位
 *		 A			 AX		EAX		RAX
 *		 B			 BX		EBX		RBX
 * 		 C			 CX		ECX		RCX
 *		 D			 DX		EDX		RDX
 */



/**
* https://www.bilibili.com/video/BV1vs411n7TH?p=8
* 1.7.1 VS中C语言嵌套汇编代码(了解)
*/
#include <stdio.h>

int main222(void)
{
    int a, b, c;

    /*
     * VS反汇编
     * 1.使用F5断点调试
     *	2.运行到断点
     *	3.Ctrl + Alt + D: 调试(D)-->窗口(W)-->反汇编(Ctrl + Alt + D)
     *	4.Shift + F5     : 调试(D)-->停止调试(Shift + F5)
     */
    a = 3;
    b = 4;
    c = a + b;
    printf("%d\n", c);


    //嵌套汇编代码
    __asm				//asm前有2个"_"
    {
            mov a, 3		//3的值放在a对应内存的位置
            mov b, 4
            mov eax, a		//把a内存的值放在eax寄存器, eax是32位寄存器(调试的时候选x86)
            add eax, b		//eax和b相加, 结果放在eax
            mov c, eax		//eax的值放在c中
    }
    printf("%d\n", c);
    return 0;
}